The present invention relates to a device for reconfiguring an assembly of N electronic devices associated with k replacement units or redundant units. The case where the electronic units are memory units that may be blocks of a large-size memory and/or lines or columns of a memory will be here considered. It should however be reminded that the present invention generally relates to the reconfiguring of an assembly of electronic units.
FIGS. 1A and 1B illustrate in a very simplified fashion the problem that the present invention aims at solving. Four memory cell blocks M0 to M3 are considered. In practice, these will for example be columns of a memory that can comprise more than one thousand columns. Some of the memory blocks may exhibit a defect. Then, it is provided to replace the defective block with a replacement block. Two replacement blocks S0 and S1 have been shown. In fact, several tens of replacement blocks may be provided.
To perform this replacement, instead of connecting the data input/output terminals d0, d1, d2, d3 directly to memory blocks M0, M1, M2, M3, it is provided to connect these terminals to the memory blocks via multiplexers MUX0, MUX1, MUX2, MUX3, respectively controlled by control blocks C0, C1, C2, C3. In the case where there are k replacement blocks, each multiplexer will comprise k+1 outputs. In the example of FIGS. 1A and 1B, it is assumed that the second one, M1, of the base memory blocks and the first one, S0, of the replacement memory blocks are defective.
In the embodiment of FIG. 1A, it is provided to replace each defective memory block with its closest non-defective neighbor. A substitution “from close to close” is performed. Each multiplexer is likely to be connected to the block of same rank and to the two blocks of immediately greater rank. In the case of FIG. 1A, input d0 is connected to block M0, input d1 is connected to block M2 (instead of block M1), input d2 is connected to block M3 (instead of block M2), and input d3 is connected to block S1 (instead of block M3 or S0). Multiplexer MUX0 performs a zero shifting, multiplexers MUX1 and MUX2 perform a shifting by one step, and multiplexer MUX3 performs a shifting by two steps.
In the embodiment block of FIG. 1B, any defective block is replaced not by one of its non-defective neighbors, but by one of the replacement blocks. A “distant” substitution is performed. Thus, input d0 is connected to block M0, input d1 is connected to block S1, and inputs d2, d3 are connected to blocks M2, M3. Thus, each multiplexer comprises an output towards the corresponding block and two outputs towards blocks S0 and S1. Multiplexers MUX0, MUX2, and MUX3 perform a zero shifting and multiplexer MUX1 performs a shifting by two steps.
The present invention aims at providing an automatic terminals and non-defective memory blocks, that is, the defective memory blocks are replaced with other blocks selected according to the case from among the neighbors of the defective block (case of FIG. 1A), or directly from redundant blocks (case of FIG. 1B).
It should be understood that this problem is relatively complex since, for a given block, to determine to which block the rerouting must be performed, account must be taken of the state of the already-examined blocks, for example, those located to the right (or to the left) of a considered block, and of the state of the possible replacement blocks.
To enable this reconfiguration, the present invention provides for each of the cases (shifting from close to close or distant shifting) a method using sequential operations or a method using a combinational system. Further, in each of the two considered cases, the present invention provides for the operations to be able to be performed in hardware or software fashion.